1. Field of the Invention
The invention relates to a method and apparatus for enforcing version control, and more particularly, to a method and apparatus for enforcing version control in a shell environment.
2. Background Information
In any sizeable software development project, maintaining code version integrity is essential for the smooth running of the project. To this end, it is accepted practice to use version control software, such as Concurrent Versioning System (CVS) or Configuration Management and Version Control (CMVC). However, a project will only progress smoothly if the rules of the version control software are followed by developers. The best controls, however well thought out, provide no benefit if not enforced.
In a worst case, poor version control discipline may lead to lost work. If a careless software programmer makes a change to the local copy of a file and does not check the updated code into the version control system, the changes may not be recorded and the work can be lost. It is difficult to determine what code was run on a given system at a given point in the past because of lost work. One could query the version control system and determine the recorded level of code for that time, but there is no assurance that the code actually used had not been edited locally.
U.S. Pat. No. 5,649,200, to Leblang et al., discloses a dynamic rule based version control system. Disclosed therein, provisions are made for access to the files for development purposes. Those provisions include, checking out the files, making local modifications, and checking them back in. The requirements of a formal testing process are not considered. The focus of the publication is the method of specification of the versions of the files which are wanted.
U.S. Pat. No. 5,574,898, to Leblang et al., discloses a dynamic software version auditor that provides a means of recording which versions of files are initially extracted in a process. It is designed for build environments where a list of the build files is required,